import logging
from typing import Any
import vim
class VimLogHandler(logging.Handler):
    """自定义日志处理器，将日志输出到 Vim"""
    def emit(self, record):
        """处理日志记录"""
        try:
            msg = self.format(record)
            # 使用 vim.command 将消息输出到 Vim 命令行
            vim.command(f'echo "{msg}"')
        except Exception:
            # 如果输出失败，忽略错误以避免无限循环
            pass
# 在文件开头添加
def setup_logger():
    """设置日志记录器"""
    logger = logging.getLogger('vim_trainer')
    logger.setLevel(logging.DEBUG)
    
    # 创建处理器，输出到 Vim 命令行
    handler = VimLogHandler()
    handler.setLevel(logging.DEBUG)
    
    # 创建格式化器
    formatter = logging.Formatter('[%(levelname)s] %(message)s')
    handler.setFormatter(formatter)
    
    # 添加处理器到日志记录器
    logger.addHandler(handler)
    
    return logger